home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CreatingGames / Utilities / C / ASAP / configdev_.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-09-08  |  2.3 KB  |  69 lines

  1. /*****************************************************************************
  2.  *                                                                           *
  3.  * ASAP - Amiga Software Authoring Platform                                  *
  4.  *                                                                           *
  5.  * Written by Laurie Perrin                                                  *
  6.  *                                                                           *
  7.  * AConfigDev wrapper class                                                  *
  8.  *                                                                           *
  9.  *****************************************************************************/
  10.  
  11. #ifndef ASAP_ConfigDev_H
  12. #define ASAP_ConfigDev_H
  13.  
  14. #include <New.h>
  15.  
  16. extern "C"
  17. {
  18.  #include <Proto/Expansion.h>
  19. }
  20.  
  21. class AConfigDev : public ConfigDev
  22. {
  23.  public:
  24.  inline void AddConfigDev();
  25.  inline static AConfigDev * AllocConfigDev();
  26.  inline void * operator new();
  27.  inline static AConfigDev * FindConfigDev(long manufacturer, long product);
  28.  inline void FreeConfigDev();
  29.  inline void operator delete(void *);
  30.  inline void RemConfigDev();
  31. };
  32. //----------------------------------------------------------------------------
  33. void AConfigDev::AddConfigDev ()
  34. {
  35.  ::AddConfigDev(this);
  36. }
  37. //----------------------------------------------------------------------------
  38. AConfigDev * AConfigDev::AllocConfigDev ()
  39. {
  40.  return (AConfigDev *) ::AllocConfigDev();
  41. }
  42. //----------------------------------------------------------------------------
  43. void * AConfigDev::operator new ()
  44. {
  45.  return AConfigDev::AllocConfigDev();
  46. }
  47. //----------------------------------------------------------------------------
  48. AConfigDev * AConfigDev::FindConfigDev (long manufacturer, long product)
  49. {
  50.  return (AConfigDev *) ::FindConfigDev(this, manufacturer, product);
  51. }
  52. //----------------------------------------------------------------------------
  53. void AConfigDev::FreeConfigDev ()
  54. {
  55.  ::FreeConfigDev(this);
  56. }
  57. //----------------------------------------------------------------------------
  58. void AConfigDev::operator delete (void *configDev)
  59. {
  60.  ((AConfigDev *) configDev)->FreeConfigDev();
  61. }
  62. //----------------------------------------------------------------------------
  63. void AConfigDev::RemConfigDev ()
  64. {
  65.  ::RemConfigDev(this);
  66. }
  67.  
  68. #endif
  69.